package com.yixun.qfbao.api.service;

import com.yixun.qfbao.apidto.*;
import com.yixun.qfbao.model.ReportModelInfo;
import com.yixun.qfbao.model.dto.ReportModelInfoDto;

import java.util.List;

public interface ReportModelApiService {

    /**
     * 更新楼盘报备模板
     * @param reqDto
     * @return
     */
    EditReportModelResDto editReportModel(EditReportModelReqDto reqDto);

    /**
     * 删除楼盘报备模板id
     * @param reqDto
     * @return
     */
    DeleteReportModelResDto deleteReportModel(DeleteReportModelReqDto reqDto);

    /**
     * 上移下移
     * @param reqDto
     * @return
     */
    MoveReportModelOrderResDto moveReportModelOrder(MoveReportModelOrderReqDto reqDto);

    /**
     * 根据楼盘获取报备模板列表
     * @param reqDto
     * @return
     */
    GetReportModelListResDto getReportModelList(GetReportModelListReqDto reqDto);

    /**
     * 添加报备模板字段
     * @param list
     */
    void setReportModeInfo(List<ReportModelInfoDto> list,Long reportId);

    /**
     * 添加报备模板
     * @param list
     * @param reportId
     */
    void addReportModeInfo(List<ReportModelInfo> list,Long reportId);

    /**
     * 获取报备自定义模板填写的详细信息
     * @param reportId
     * @return
     */
    GetReportModelInfoListResDto getReportModeInfoList(GetReportModelInfoListReqDto reqDto);

    /**
     * 保存报备设置
     * @param reportModelReqDto
     */
    BatchUpdateReportModelResDto batchUpdateReportModel(BatchUpdateReportModelReqDto reportModelReqDto);

    /**
     * 获取楼盘报备模板
     * @param reqDto
     * @return
     */
    GetReportModelContentResDto getReportModelContent(GetReportModelContentReqDto reqDto);

    /**
     *  批量选择楼盘报备模板
     * @param reqDto
     * @return
     */
    BatchReportModelListResDto batchReportModelList(BatchReportModelListReqDto reqDto);
}
